//+------------------------------------------------------------------+ //| FN Diver Osc.mq4 | //| Belomor | //| belomor@inbox.ru | //+------------------------------------------------------------------+ #property copyright "Belomor" #property link "belomor@inbox.ru" #property indicator_separate_window #property indicator_buffers 1 #property indicator_color1 Silver //---- input parameters extern int FN=26; if(FN<2) FN=2; extern int Smoothing=5; if(Smoothing<1) Smoothing=1; extern int Shift=1; if(Shift<0) Shift=1; extern double Deviation=3; if(Deviation<0) Deviation=1; //---- buffers double ExtMapBuffer1[]; double ExtMapBuffer2[]; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators IndicatorBuffers(2); SetIndexStyle(0,DRAW_HISTOGRAM,STYLE_SOLID,2); SetIndexBuffer(0,ExtMapBuffer1); SetIndexBuffer(1,ExtMapBuffer2); SetIndexDrawBegin(0,FN+Shift); IndicatorShortName("FN Diver Osc ("+FN+","+Smoothing+","+Shift+")"); SetIndexLabel(0,"FN Diver"); IndicatorDigits(4); //---- return(0); } double FisherX(int F_period, double Dev, int i) { double result; double A; double S; double C; double X; double D; if(i0.99) X=0.99; if(X<-0.99) X=-0.99; result=X; return(result); } double FisherY(int F_period, double Dev, int i) { double result; double X; if(i0) counted_bars--; limit=Bars-counted_bars; for(int i=0; i